#ifndef TASK_H_INCLUDED
#define TASK_H_INCLUDED

#ifdef __cplusplus
extern "C"
{
#endif

#include "common.h"

//------------------------------------------------------------------------------
// defines
//------------------------------------------------------------------------------

#define  INI_FILE_NAME        "agilerss.ini"
#define  EXE_FILE_NAME        "agilerss.exe"
#define  FILE_NAME_LENGTH     1 + 12 +1  // strlen("\\") + strlen("agilerss.xxx") + strlen("\0")

//------------------------------------------------------------------------------
// enums
//------------------------------------------------------------------------------

enum
{
    TASK_NAME_LENGTH = 64,
	TASK_PERIOD_LENGTH = 16
};

//------------------------------------------------------------------------------
// typedefs
//------------------------------------------------------------------------------

typedef struct taskschedule_t
{
    char         name[TASK_NAME_LENGTH];
    char         period[TASK_PERIOD_LENGTH];
    const char*  ini_path;
} taskschedule_t;

//------------------------------------------------------------------------------
// functions
//------------------------------------------------------------------------------

/**
 * @brief Returns true if successful and false otherwise
 */
bool
TASK_Schedule(const taskschedule_t* a_taskschedule);

#ifdef __cplusplus
}
#endif

#endif // TASK_H_INCLUDED